Digital watermarking technology, a form of steganography, encompasses a great variety of techniques by which plural bits of digital data are hidden in some other object without leaving human-apparent evidence of alteration.
Digital watermarking is a process for modifying media content to embed a machine-readable code into the data content. The data may be modified such that the embedded code is imperceptible or nearly imperceptible to the user, yet may be detected through an automated detection process. Most commonly, digital watermarking is applied to media such as images, audio signals, and video signals. However, it may also be applied to other types of data, including documents (e.g., through line, word or character shifting), software, multi-dimensional graphics models, and surface textures of objects.
Digital watermarking techniques can also be applied to traditional physical objects, including blank paper. Such blank media, however, presents certain challenges since there is no image that can serve as the carrier for the watermark signal.
The surface of a paper or other physical object can be textured with a pattern of microindentations to steganographically encode plural-bit information. The texturing is optically discernible, e.g., by a scanner, permitting the digital data to be decoded from scan data corresponding to the paper object.
There are other processes by which blank media can be processed to encode a digital watermark. Some techniques employ very subtle printing, e.g., of fine lines or dots, which has the effect slightly tinting the media (e.g., a white media can be given a lightish-green cast). To the human observer the tinting appears uniform. Computer analysis of scan data from the media, however, reveals slight localized changes, permitting the multi-bit watermark payload to be discerned. Such printing can be by ink jet, dry offset, wet offset, xerography, etc.
Other techniques extend the texturing techniques, e.g., by employing an intaglio press to texture the media as part of the printing process (either without ink, or with clear ink).
Printable media—especially for security documents (e.g., banknotes) and identity documents (e.g., passports)—is increasingly fashioned from synthetic materials. Polymeric films, such as are available from UCB Films, PLC of Belgium, are one example. Such films may be clear and require opacification prior to use as substrates for security documents. The opacification can be effected by applying plural layers of ink or other material, e.g., by gravure or offet printing processes. (Suitable inks are available, e.g., from Sicpa Securink Corp. of Springfield, Va.) In addition to obscuring the transparency of the film, the inks applied through the printing process form a layer that is well suited to fine-line printing by traditional intaglio methods. Such an arrangement is more particularly detailed in laid-open PCT publication W098/33758. That application is believed to have a pending US counterpart application, which claims priority to Australian application 4847, filed Jan. 29, 1997.
Digital watermarking systems have two primary components: an embedding component that embeds the watermark in the media content, and a reading component that detects and reads the embedded watermark. The embedding component embeds a watermark pattern by altering data samples of the media content. The reading component analyzes content to detect whether a watermark pattern is present. In applications where the watermark encodes information, the reading component extracts this information from the detected watermark.
The watermark components may be located in different spatial or temporal locations in a host signal. In images, for example, different components may be located in different parts of the image. Each component may carry a different message or perform a different function. In audio or video, different components may be located in different time frames of the signal.
The watermark components may be defined, embedded and extracted in different domains. Examples of domains include spatial, temporal and frequency domains. A watermark may be defined in a domain by specifying how it alters the host signal in that domain to effect the encoding of the watermark component. A frequency domain component alters the signal in the frequency domain, while a spatial domain component alters the signal in the spatial domain. Of course, such alterations may have an impact that extends across many transform domains.
In addition, components may be located in different spatial or temporal portions of the host signal, and may carry the same or different messages.
The host signal can vary as well. The host is typically some form of multi-dimensional media signal, such as an image, audio sequence or video sequence. In the digital domain, each of these media types is represented as a multi-dimensional array of discrete samples. For example, a color image has spatial dimensions (e.g., its horizontal and vertical components), and color space dimensions (e.g., YUV or RGB). Some signals, like video, have spatial and temporal dimensions. Depending on the needs of a particular application, the embedder may insert a watermark signal that exists in one or more of these dimensions.
While described here as watermark components, one can also construe the components to be different watermarks. This enables the watermark technology described throughout this document to be used in applications using two or more watermarks. For example, some copy protection applications of the watermark structure may use two or more watermarks, each performing similar or different function. One mark may be more fragile than another, and thus, disappear when the combined signal is corrupted or transformed in some fashion. The presence or lack of a watermark or watermark component conveys information to the detector to initiate or prohibit some action, such as playback, copying or recording of the marked signal.
A watermark system may include an embedder, detector, and reader. The watermark embedder encodes a watermark signal in a host signal to create a combined signal. The detector looks for the watermark signal in a potentially corrupted version of the combined signal, and computes its orientation. Finally, a reader extracts a message in the watermark signal from the combined signal using the orientation to approximate the original state of the combined signal.
In the design of the watermark and its components, developers are faced with several design issues such as: the extent to which the mark is impervious to jamming and manipulation (either intentional or unintentional); the extent of imperceptibility; the quantity of information content; the extent to which the mark facilitates detection and recovery, and the extent to which the information content can be recovered accurately.
For certain applications, such as copy protection or authentication, the watermark should be difficult to tamper with or remove by those seeking to circumvent it. To be robust, the watermark must withstand routine manipulation, such as data compression, copying, linear transformation, flipping, inversion, etc., and intentional manipulation intended to remove the mark or make it undetectable. Some applications require the watermark signal to remain robust through digital to analog conversion (e.g., printing an image or playing music), and analog to digital conversion (e.g., scanning the image or digitally sampling the music). In some cases, it is beneficial for the watermarking technique to withstand repeated watermarking.
A variety of signal processing techniques may be applied to address some or all of these design considerations. One such technique is referred to as spreading. Sometimes categorized as a spread spectrum technique, spreading is a way to distribute a message into a number of components (chips), which together make up the entire message. Spreading makes the mark more impervious to jamming and manipulation, and makes it less perceptible.
Another category of signal processing technique is error correction and detection coding. Error correction coding is useful to reconstruct the message accurately from the watermark signal. Error detection coding enables the decoder to determine when the extracted message has an error.
Another signal processing technique that is useful in watermark coding is called scattering. Scattering is a method of distributing the message or its components among an array of locations in a particular transform domain, such as a spatial domain or a spatial frequency domain. Like spreading, scattering makes the watermark less perceptible and more impervious to manipulation.
Yet another signal processing technique is gain control. Gain control is used to adjust the intensity of the watermark signal. The intensity of the signal impacts a number of aspects of watermark coding, including its perceptibility to the ordinary observer, and the ability to detect the mark and accurately recover the message from it.
Gain control can impact the various functions and components of the watermark differently. Thus, in some cases, it is useful to control the gain while taking into account its impact on the message and orientation functions of the watermark or its components. For example, in a watermark system described below, the embedder calculates a different gain for orientation and message components of an image watermark.
Another useful tool in watermark embedding and reading is perceptual analysis. Perceptual analysis refers generally to techniques for evaluating signal properties based on the extent to which those properties are (or are likely to be) perceptible to humans (e.g., listeners or viewers of the media content). A watermark embedder can take advantage of a Human Visual System (HVS) model to determine where to place a watermark and how to control the intensity of the watermark so that chances of accurately recovering the watermark are enhanced, resistance to tampering is increased, and perceptibility of the watermark is reduced. Such perceptual analysis can play an integral role in gain control because it helps indicate how the gain can be adjusted relative to the impact on the perceptibility of the mark. Perceptual analysis can also play an integral role in locating the watermark in a host signal. For example, one might design the embedder to hide a watermark in portions of a host signal that are more likely to mask the mark from human perception.
Various forms of statistical analyses may be performed on a signal to identify places to locate the watermark, and to identify places where to extract the watermark. For example, a statistical analysis can identify portions of a host image that have noise-like properties that are likely to make recovery of the watermark signal difficult. Similarly, statistical analyses may be used to characterize the host signal to determine where to locate the watermark.
Each of the techniques may be used alone, in various combinations, and in combination with other signal processing techniques.
In addition to selecting the appropriate signal processing techniques, the developer is faced with other design considerations. One consideration is the nature and format of the media content. In the case of digital images, for example, the image data is typically represented as an array of image samples. Color images are represented as an array of color vectors in a color space, such as RGB or YUV. The watermark may be embedded in one or more of the color components of an image. In some implementations, the embedder may transform the input image into a target color space, and then proceed with the embedding process in that color space.
A watermark signal can be represented as a checkerboard pattern comprising, e.g., a 96×96 array of elements, where each element is, e.g., 0.012 inch on a side. Each component element can be light or dark, or intermediate grey-scale values may be used to further reduce visibility. Such checkerboards may be tiled together to span the full width and length of the media. Alternatively, patterns other than checkerboards can be used (e.g., weave-like patterns).
In most embodiments, a watermark payload is uniform across the medium. In some applications, however, it may be desirable to encode different payloads in different regions of a medium. Such may be the case, for example, in pre-encoding blank pages for magazine stock. Each sheet (ultimately defining two magazine pages on its front and two on its back) may be arranged in columnar form (e.g., 3 columns per page), with each column bearing a different watermark. Still more complex arrangements, e.g., segregating each column into top, middle, and bottom thirds, can of course be used.
In other arrangements, the same watermark may be encoded in different places (e.g., on different sheets of media), but not by using the same pattern. Instead, different patterns can be used in different places to encode the same watermark payload.
The watermark can convey a payload of arbitrary length, commonly in the 2-256 bit range, and perhaps most commonly between 24 and 72 bits. Error correcting coding, such as convolutional coding or BCH coding, can be employed to transform the base payload (e.g., 50 bits) to a longer data string (e.g., 96-1024 bits), assuring robustness in detection notwithstanding some data corruption (e.g., due to wear and tear of the medium, artifacts from scanning, etc.). The bits of this longer string are mapped, e.g., pseudo-randomly, to define the pattern (e.g., checkerboard).
In accordance with one embodiment of the present invention, watermarking is employed to facilitate e-commerce transactions. More particularly, watermarking is employed to assure that an on-line purchaser of goods has physical custody of the credit card being charged. Without such custody, the credit card issuer will refuse the requested transaction.
According to another embodiment, a method of commerce over the internet between a user and a merchant is provided. The user is in possession of a document including an embedded watermark. The method includes the steps of: i) extracting identifying data from the watermark, and passing the identifying data to a central site; ii) at the central site, identifying a financial institution identifier associated with the document and passing the identifier and a session ticket to the user; iii) contacting the financial institution via the financial institution identifier and passing the session ticket to obtain an authentication ticket; iv) passing the authentication ticket from the user to the merchant to facilitate a transaction; and v) providing the authentication ticket from the merchant to the financial institution.
In still another embodiment, a method of verifying data is provided. The method includes the steps of: i) digitally capturing an image; ii) computing a hash of the captured image; and iii) comparing the hash with a database of hashes, the database of hashes comprising hashes corresponding to previously captured images.
A system for exchanging data is provided according to yet another embodiment. The system includes a user terminal and a central site. The user terminal includes a watermark reader, and a capturing device to capture an image. The central site includes a database of image hashes. The user terminal communicates with the central site. Also, the reader reads a watermark and computes a hash of a captured image and passes the hash to the central site for comparison with the database of image hashes.
According to another embodiment, a method is provided for commerce over a communications system between a user and a merchant. The system includes a central computer, a user computer, a merchant computer and a financial institution computer. The user computer includes a watermark reader. The various computers communicate via a network. The method includes the steps of: i) accessing the merchant computer from the user computer; ii) launching on the user computer the watermark reader to read a document comprising an embedded watermark, the watermark reader extracting identifying data from the watermark; iii) accessing the central computer from the user computer to obtain a URL for the financial institution computer and a ticket, the URL being identified from the extracted identifying data; iv) passing the ticket from the user computer to the financial institution computer to obtain an authorization; v) upon receipt of the authorization, passing the authorization from the user computer to the merchant computer; and vi) passing the authorization from the merchant computer to the financial institution computer.
A computer readable medium having a data structure stored thereon is provided according to another embodiment. The data structure includes a document identifier, a document type identifier; a hash of an image from which the document identifier and document type identifier were extracted from.
The foregoing and other features and advantages of the present invention will be more readily apparent from the following detailed description, which proceeds with reference to the accompanying drawings.